#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Core;
using Cephei.Core.Generic;
using Microsoft.FSharp.Core;
using Cephei.QL.Times;
namespace Cephei.QL.Times.Calendars
{
    /// <summary> 
	/// ! Public holidays:
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Epiphany, January 6th</li>
	/// <li>Easter Monday</li>
	/// <li>Liberation Day, April 25th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Republic Day, June 2nd (since 2000)</li>
	/// <li>Assumption, August 15th</li>
	/// <li>All Saint's Day, November 1st</li>
	/// <li>Immaculate Conception Day, December 8th</li>
	/// <li>Christmas Day, December 25th</li>
	/// <li>St. Stephen's Day, December 26th</li>
	/// </ul>  Holidays for the stock exchange (data from http://www.borsaitalia.it):
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Good Friday</li>
	/// <li>Easter Monday</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Assumption, August 15th</li>
	/// <li>Christmas' Eve, December 24th</li>
	/// <li>Christmas, December 25th</li>
	/// <li>St. Stephen, December 26th</li>
	/// <li>New Year's Eve, December 31st</li>
	/// </ul>  \ingroup calendars  \test the correctness of the returned results is tested against a list of known holidays.
	/// </summary>
    [Guid ("42769905-BD91-41f7-9D9E-A05D9CBA7D89"),ComVisible(true)]
	public interface IItaly : Cephei.QL.Times.ICalendar
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
    }   

    /// <summary> 
	/// ! Public holidays:
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Epiphany, January 6th</li>
	/// <li>Easter Monday</li>
	/// <li>Liberation Day, April 25th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Republic Day, June 2nd (since 2000)</li>
	/// <li>Assumption, August 15th</li>
	/// <li>All Saint's Day, November 1st</li>
	/// <li>Immaculate Conception Day, December 8th</li>
	/// <li>Christmas Day, December 25th</li>
	/// <li>St. Stephen's Day, December 26th</li>
	/// </ul>  Holidays for the stock exchange (data from http://www.borsaitalia.it):
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Good Friday</li>
	/// <li>Easter Monday</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Assumption, August 15th</li>
	/// <li>Christmas' Eve, December 24th</li>
	/// <li>Christmas, December 25th</li>
	/// <li>St. Stephen, December 26th</li>
	/// <li>New Year's Eve, December 31st</li>
	/// </ul>  \ingroup calendars  \test the correctness of the returned results is tested against a list of known holidays. Factory
	/// </summary>
   	[ComVisible(true)]
    public interface IItaly_Factory 
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary> 
		/// 
		/// </summary>
	    IItaly Create (Microsoft.FSharp.Core.FSharpOption<QL.Times.Calendars.Italy.MarketEnum> market);
    }
}

